package com.kaifamiao.dynamic.mapper;

import com.kaifamiao.dynamic.entity.Customer;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface CustomerMapper {

    int save( Customer c ) ;

    int update( Customer c ) ;

    int modify( Map<String,Object> map ) ;

    Customer find( Integer id ) ;

    List<Customer> findAll();

    Map<String,Object> load( Integer id );

    List<Map<String,Object>> loadAll();

    /**
     * 注意这里使用 @Param 注解 为 CustomerMapper 中显式指定了参数名称
     * @param customerId 作为条件进行查询时使用的主键值
     * @param customerUsername 作为条件进行查询时使用的用户名
     * @return
     */
    Customer query( @Param( "id") Integer customerId ,
                    @Param( "username") String customerUsername );

    List<Customer> like( String key );

    int saveBatch( List<Customer> customers );
}
